@echo off
chcp 65001 >nul
echo ====================================
echo  OriginPoint Engine 数据库初始化
echo  完整版（自动修复.env位置）
echo ====================================
echo.

echo [0/6] 准备工作...
cd backend

echo [1/6] 检查 backend\.env 配置文件...
if not exist .env (
    echo ✗ backend\.env 不存在
    echo 正在从模板创建...
    copy env.example .env
    echo.
    echo ⚠️ 请编辑 backend\.env 文件
    echo ⚠️ 修改 DB_PASSWORD=你的PostgreSQL密码
    echo.
    pause
    exit
)
echo ✓ backend\.env 存在

echo.
echo [2/6] 复制.env到项目根目录...
copy .env ..\.env /Y >nul 2>&1
if exist ..\.env (
    echo ✓ .env 已复制到根目录
) else (
    echo ✗ 复制失败
    pause
    exit /b 1
)

echo.
echo [3/6] 使用 PostgreSQL 18...
set PSQL_PATH=C:\Program Files\PostgreSQL\18\bin\psql.exe
echo ✓ 路径: %PSQL_PATH%

echo.
echo [4/6] 创建数据库...
echo ➜ 请输入 PostgreSQL 密码
"%PSQL_PATH%" -U postgres -c "CREATE DATABASE originpoint_engine;"
if errorlevel 1 (
    echo   数据库可能已存在（这是正常的）
) else (
    echo ✓ 数据库创建成功
)

echo.
echo [5/6] 运行数据库迁移...
echo ➜ 正在执行SQL迁移脚本...
cd ..
go run backend/cmd/migrate/main.go
if errorlevel 1 (
    echo ✗ 数据库迁移失败
    echo.
    echo 请检查:
    echo 1. .env 文件中的 DB_PASSWORD 是否正确
    echo 2. .env 文件中的 DB_NAME=originpoint_engine
    echo.
    type .env | findstr DB_
    pause
    exit /b 1
)
echo ✓ 数据库迁移完成

echo.
echo [6/6] 初始化管理员账号...
echo ➜ 默认账号: admin@example.com
echo ➜ 默认密码: admin123
echo.
go run backend/cmd/init-admin/main.go
if errorlevel 1 (
    echo   管理员账号可能已存在（这是正常的）
) else (
    echo ✓ 管理员账号创建成功
)

echo.
echo ====================================
echo ✓ 数据库初始化完成！
echo ====================================
echo.
echo 登录信息:
echo   邮箱: admin@example.com
echo   密码: admin123
echo.
echo .env 文件位置:
echo   ✓ D:\接单\刘昊天\.env
echo   ✓ D:\接单\刘昊天\backend\.env
echo.
echo 下一步: 运行 start-all.bat 启动服务
echo.
pause

